home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Environments / Oberon⁄F™ 1.2 / Preinstalled version / Form / Docu / Guide (.txt) < prev    next >
Encoding:
Oberon Document  |  1996-03-29  |  12.0 KB  |  135 lines  |  [oODC/obnF]

  1. Documents.StdDocumentDesc
  2. Documents.DocumentDesc
  3. Containers.ViewDesc
  4. Views.ViewDesc
  5. Stores.StoreDesc
  6. Documents.ModelDesc
  7. Containers.ModelDesc
  8. Models.ModelDesc
  9. Stores.ElemDesc
  10. TextViews.StdViewDesc
  11. TextViews.ViewDesc
  12. TextModels.StdModelDesc
  13. TextModels.ModelDesc
  14. TextModels.AttributesDesc
  15. Helvetica
  16. TextRulers.StdRulerDesc
  17. TextRulers.RulerDesc
  18. TextRulers.StdStyleDesc
  19. TextRulers.StyleDesc
  20. TextRulers.AttributesDesc
  21. StdLogos.ViewDesc
  22. Helvetica
  23. Helvetica
  24. Helvetica
  25. StdFolds.FoldDesc
  26. Helvetica
  27. StdLinks.LinkDesc
  28. StdCmds.OpenBrowser('Manuals/Copyrigh', 'Copyright')
  29. Helvetica
  30. Oberon/F Release 1.2
  31. Copyright 
  32.  1994-1996 by Oberon microsystems, Inc., Switzerland.
  33. All rights reserved. No part of this publication may be reproduced in any form or by any means, without prior written permission by Oberon microsystems. The only exception is the free electronic distribution of the education version of Oberon/F (see the accompanying 
  34. copyright
  35. notice
  36.  for details).
  37. Oberon/F module interfaces and their descriptions in particular may not be used in other works without written permission.
  38. Oberon microsystems, Inc.
  39. Technoparkstrasse 1
  40. CH-8005 Z
  41. Switzerland
  42. Oberon is a trademark of ETH Z
  43. rich, Switzerland.
  44. Oberon/F, Oberon/L, "Oberon by Example", "The Oberon Tribune", "Oberon Developer Forum", and "Drag & Pick" are trademarks of Oberon microsystems, Inc.
  45. All other trademarks and registered trademarks belong to their respective owners.
  46. Helvetica
  47. Helvetica
  48. StdLinks.ShowTarget('Form Creation')
  49. Helvetica
  50. StdLinks.ShowTarget('Layout and')
  51. StdLinks.ShowTarget('Controls and')
  52. StdLinks.ShowTarget('Control Properties')
  53. StdLinks.TargetDesc
  54. Form Creation
  55. Helvetica
  56. Layout and
  57. DevCommanders.StdViewDesc
  58. DevCommanders.ViewDesc
  59. StdCmds.OpenMask('Form/Docu/Gen', 'FormGen Docu')
  60. Helvetica
  61. StdCmds.OpenMask('Text/Docu/Cmds', 'TextCmds Docu')
  62. StdCmds.OpenMask('Std/Docu/Cmds', 'StdCmds Docu')
  63. Controls and
  64. StdCmds.OpenMask('System/Docu/Controls', 'Controls Docu')
  65. Control Properties
  66. StdCmds.OpenMask('Dev/Docu/Inspector', 'DevInspector Docu')
  67.  Oberon/F
  68. User's Guide
  69. Form Subsystem
  70. Copyright Notice
  71. Contents
  72. Creation
  73. Storage
  74. Layout
  75. Modes
  76. Controls
  77. Interactors
  78. Control
  79. Properties
  80. Form Creation
  81. The command Dev->New
  82. Form... creates dialogs and other forms that match exported global variables. All such forms are non
  83. modal. Almost all dialogs in Oberon/F are non
  84. modal, as long as the conventions for the underlying platform permit.
  85. To get started, enter "TextCmds.find" into the link field of the Dev->New
  86. Form... dialog. By clicking the default button, a dialog is automatically created which has fields find and replace, and buttons like FindNext and ReplaceAll. These fields and buttons directly match the record fields of variable find in module TextCmds. To verify this, select the string "TextCmds.find", and execute command Info->Interface. The browser will display the definition of the record type.
  87. The size of a form view can be adjusted by selecting the whole document (Edit->Select
  88. Document) and then dragging the graphical handles.
  89. The dialog created by Dev->New
  90. Form... exhibits a simple default arrangement of controls (e.g. buttons, text fields), shown as an editable layout. The controls may be re-arranged, renamed, or otherwise modified using the menus Layout and Controls. The former menu appears automatically whenever a form becomes focused.
  91. Instead of creating an initial layout out of an existing global variable, form creation may start with an empty form (click on the New
  92. Form dialog's Empty button), and then successively insert new controls via the Controls menu. Later, such controls may be linked to suitable global variables.
  93. An edited dialog can be saved by saving the window of the form layout. Oberon/F saves dialogs in the standard document format. By convention, Oberon/F forms are saved in the appropriate Rsrc directory (-> Subsystems and Global Modules). For example, the standard Dev->Find
  94. Replace dialog is stored in Text/Rsrc/Find.
  95. Layout and Mask Modes
  96. Forms can be used in two different modes. Normally, a form is used in layout mode, i.e. its layout can be freely edited. The views (e.g. controls) embedded in a form however, cannot be edited directly, because they can only be selected, but not focused. For layout editing, it would be very inconvenient if a click in one of the form's controls would focus it, instead of only selecting it. Forms are saved in layout mode, and opened in document windows.
  97. For using a form as a dialog or data entry mask, a form can be opened in mask mode instead, in an auxiliary window (data entry mask) or in a tool window (dialog for the manipulation of a document beneath the dialog). A form in mask mode cannot be modified. However, its embedded views may be focused, e.g. a text entry field may be focused, or a button may be clicked. In contrast to layout mode, embedded views cannot be selected, resized, or moved around.
  98. In mask mode, no focus border is shown around the currently focused view. In layout mode, a grid is shown.
  99. Forms need not be saved in mask mode. They are saved in layout mode, and thus can be opened, edited, and saved again via the normal File menu commands. A data entry mask is opened via the StdCmds.OpenAuxDialog command; and a dialog is opened via the StdCmds.OpenToolDialog command, which open a form document into an auxiliary/tool window and forces it into mask mode. For example, the following commands show the difference between the two modes by opening the same (layout mode) form in the two possible ways:
  100.  "StdCmds.OpenAuxDialog('Form/Rsrc/New', 'History of Oberon')"
  101.  "StdCmds.OpenToolDialog('Text/Rsrc/Find', 'Find & Replace')"
  102.  "StdCmds.OpenDoc('Form/Rsrc/New')"
  103.  "StdCmds.OpenDoc('Text/Rsrc/Find')"
  104. The latter two commands correspond to the File->Open command and allow editing.
  105. The difference between auxiliary and tool dialogs is that auxiliary dialogs are self-contained, e.g. dialogs to set up configuration parameters or data entry masks. Tool dialogs on the other hand operate on windows below them, e.g. the Find
  106. Replace dialog operates on the text beneath the dialog.
  107. These OpenAuxDialog/OpenToolDialog commands accept portable path names as input. A portable path name is a string which denotes a file in a machine-independent way. It uses the "/" character as separator, i.e. like in Unix or the World-Wide Web.
  108. These commands are usually applied in menu items, for example the following command sequence:
  109.     "TextCmds.InitFindDialog; StdCmds.OpenToolDialog('Text/Rsrc/Find', 'Find & Replace')"
  110. In this command sequence, the first command initializes the TextCmds.find interactor with the currently selected text stretch. The second command opens a dialog box with the Text/Rsrc/Find file's form, whose controls are linked to the interactor's fields upon opening of the dialog.
  111. See also modules 
  112. FormGen
  113. TextCmds
  114. , and 
  115. StdCmds
  116. Controls and Interactors
  117. Controls are specialized views. Like every view, any control can be inserted into any general container, be it a text, a spreadsheet, or whatever other container is available. However, most controls are put into forms.
  118. Each control can be linked to a variable, more exactly to the field of a globally declared record variable, a so-called interactor. When the control is allocated (newly created or read from a document), Oberon/F tries to link the control to its variable, using the advanced meta
  119. programming capabilities of the Oberon/F core. In this way, the link between control and variable can be built up automatically when a dialog is created or loaded, and correct linking (i.e. correct typing) can be guaranteed even after a dialog layout had been edited. The separation of interactor from controls makes it possible to hide many user-interface details from a program, e.g. the layout of a dialog box or other "cosmetic" properties of controls.
  120. Oberon/F provides command buttons, check boxes, radio buttons, fields, captions, list boxes, selection boxes, combo boxes, date, time, color, up/down fields, and groups as standard controls.
  121. For more information on controls, see module 
  122. Controls
  123. Control Properties
  124. Controls have various properties, e.g. the string displayed in a button, or the interactor field to which the control is linked.  The inspector is a tool used to inspect and to modify the properties of standard controls. To open the inspector dialog on a control, first select the control, and then execute Edit->Object
  125. Properties... (Windows) / Edit->Component
  126. Info (Mac OS).
  127. To learn more about the inspector, see the documentation for module 
  128. DevInspector
  129. TextControllers.StdCtrlDesc
  130. TextControllers.ControllerDesc
  131. Containers.ControllerDesc
  132. Controllers.ControllerDesc
  133. Helvetica
  134. Documents.ControllerDesc
  135.